package com.travelparadise.dao;

import java.util.Collection;
import java.util.List;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.travelparadise.domain.Activite;
import com.travelparadise.domain.Ville;

public class VilleDaoHibernate extends HibernateDaoSupport implements VilleDao {

	@Override
	public Ville getById(int id) {
		HibernateTemplate hibernateTemplate = this.getHibernateTemplate();
		Ville ville = (Ville) hibernateTemplate.get(com.travelparadise.domain.Ville.class, id);
		return ville;
	}

	@Override
	public Collection<Ville> getByPays(String pays) {
		HibernateTemplate hibernateTemplate = this.getHibernateTemplate();
		String reqHQL = "select ville from Ville as ville where ville.pays like '"+pays+"'";
		Collection<Ville> villes = hibernateTemplate.find(reqHQL);
		return villes;
	}

	@Override
	public Collection<Ville> searchByActivite(Activite a) {
		HibernateTemplate hibernateTemplate = this.getHibernateTemplate();
		Activite activite = (Activite) hibernateTemplate.get(com.travelparadise.domain.Activite.class, a.getId());
		return activite.getVilles();
	}

	@Override
	public Collection<Ville> getAllVilles() {
		HibernateTemplate hibernateTemplate = this.getHibernateTemplate();
		Collection<Ville> villes = hibernateTemplate.find("select v from Ville as v");
		return villes;
	}
}